<%-- 
    Document   : formulario
    Created on : 31/08/2010, 11:15:36
    Author     : ciar
--%>
<%@page import="pessoal.Cidade"%>
<%@page import="ferramentas.Query"%>
<%@page import="java.util.List"%>
<%@page import="pessoal.Estado"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="pessoal.Usuario"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <link rel="stylesheet" type="text/css" href="style.css" />
        <link rel="shortcut icon" href="http://www.ufg.br/imagens/ufg.ico" />

        <script language="JavaScript" src="calendar1.js"></script><!-- Date only with year scrolling -->
        <script type="text/javascript" src="scripts/lib/jquery.js"></script>
        <script src="scripts/flash.js" type="text/javascript"></script>
        <script src="scripts/jquery.maskedinput.js" type="text/javascript"></script>

        <script type="text/javascript">

            jQuery(function($) {
                $("#nascimento").mask("99-99-9999", {completed: function() {
                        valida_confirmar_nascimento()
                    }, placeholder: " "});
            });

            function pula_ddd() {
                var ddd = document.getElementById("ddd");
                var telefone = document.getElementById("telefone");
                if (ddd.value.length >= 2) {
                    telefone.focus();
                }

            }
            function validar() {
                var form = document.getElementById("formulario");
                if (validaTudo() &&
                        valida_confirma_email() && confirmar_senha() && valida_email() && valida_cpf() && mudar_fundo() & valida_nascimento()) {
                    //window.alert("Enviar Dados!");
                    form.submit();
                } else {
                    window.alert("Você não preencheu devidamente todos os campos obrigatórios!");
                }

            }

            function getEndereco() {
                if ($.trim($("#cep").val()) != "") {

                    $.getScript("http://cep.republicavirtual.com.br/web_cep.php?formato=javascript&cep=" + $("#cep").val(), function() {
                        if (resultadoCEP["resultado"]) {
                            // troca o valor dos elementos
                            $("#rua").val(unescape(resultadoCEP["tipo_logradouro"]) + ": " + unescape(resultadoCEP["logradouro"]));
                            $("#bairro").val(unescape(resultadoCEP["bairro"]));
                            //$("#cidade").val(unescape(resultadoCEP["cidade"]));
                            //$("#estado").val(unescape(resultadoCEP["uf"]));
                        } else {
                            alert("Endereço não encontrado");
                        }
                    });
                }
            }



            function mudar_fundo() {
                var tabela = document.getElementById("tab_form");
                var sexo = document.getElementById("sexo");
                if (sexo.value == 'm') {
                    tabela.style.backgroundImage = "url('img/masculino.png')";
                } else {
                    if (sexo.value == "f") {
                        tabela.style.backgroundImage = "url('img/feminino.png')";
                    } else {
                        tabela.style.backgroundImage = "";
                        return false;
                    }
                }
                return true;
            }

            function valida_confirma_email() {

                var email = document.getElementById("email");
                var confirma_email = document.getElementById("confirma_email");

                var ajuda = document.getElementById("ajuda_confirma_email");

                if (email.value != confirma_email.value) {
                    ajuda.innerHTML = "E-mail não confere!";
                    ajuda.style.color = "#f00";
                    return false;
                } else {
                    if (email.value.length > 0) {
                        ajuda.innerHTML = "Obrigado!";
                        ajuda.style.color = "#0f0";
                        return true;
                    }
                }
            }

            function confirmar_senha() {
                var senha = document.getElementById("pass");
                var confirma_senha = document.getElementById("password");
                var ajuda_senha = document.getElementById("ajuda_senha");

                if (!isVazio(senha)) {
                    if (senha.value == confirma_senha.value) {
                        ajuda_senha.innerHTML = "Obrigado!";
                        ajuda_senha.style.color = "#0f0";
                        return true;
                    } else {
                        ajuda_senha.innerHTML = "Senhas não conferem!";
                        ajuda_senha.style.color = "#f00";
                        return false;
                    }

                } else {
                    return false;
                }


            }
            function valida_email()
            {
                var email = document.getElementById("email");
                var ajuda_email = document.getElementById("ajuda_email");
                var txt = email.value;
                if ((txt.length != 0) && ((txt.indexOf("@") < 1) || (txt.indexOf('.') < 0)))
                {
                    ajuda_email.innerHTML = "E-mail incorreto!";
                    ajuda_email.style.color = "#f00";
                    email.focus();
                    return false;
                } else {
                    if (txt.length > 0) {
                        ajuda_email.innerHTML = "Obrigado!";
                        ajuda_email.style.color = "#0f0";
                    }

                    return true;
                }
            }

            function isValidDate(sDate) {
                var regexDate = /(?:0[1-9]|[12][0-9]|3[01])\-(?:0[1-9]|1[0-2])\-(?:19|20\d{2})/;
                if (regexDate.test(sDate)) {

                    var date = sDate.split("-");
                    var dia = parseInt(date[0]);
                    var mes = parseInt(date[1]);
                    var ano = parseInt(date[2]);

                    if (dia == 31 && (mes == 4 || mes == 6 || mes == 9 || mes == 11)) {
                        return false; // 31st of a month with 30 days
                    } else if (dia >= 30 && mes == 2) {
                        return false; // February 30th or 31st
                    } else if (mes == 2 && dia == 29 && !(ano % 4 == 0 && (ano % 100 != 0 || ano % 400 == 0))) {
                        return false; // February 29th outside a leap year
                    } else {
                        return true;
                    }
                } else {
                    return false; // Not a date
                }
            }

            function valida_confirmar_nascimento() {
                var nascimento = document.getElementById("nascimento");
                var ajuda_nascimento = document.getElementById("ajuda_nascimento");
                var data = nascimento.value;
                if (isValidDate(data))
                {
                    ajuda_nascimento.innerHTML = "Obrigado!";
                    ajuda_nascimento.style.color = "#0f0";
                    $('#email').focus();
                    return true;
                } else {
                    ajuda_nascimento.innerHTML = "Data de nascimento inválida!";
                    ajuda_nascimento.style.color = "#f00";
                    $('#nascimento').focus();
                    return false;
                }
            }

            function validaTudo() {
                return valida_nome() &
                        valida_nascimento() &
                        valida_cep() &
                        valida_rua() &
                        valida_numero() &
                        valida_bairro() &
                        valida_cidade() &
                        valida_estado() &
                        valida_ddd() &
                        valida_email_preenchido() &
                        valida_confirma_email_preenchido() &
                        valida_telefone();
            }

            function valida_nome() {
                return validaCampo("nome");
            }

            function valida_nascimento() {
                return validaCampo("nascimento");
            }

            function valida_email_preenchido() {
                return validaCampo("email");
            }

            function valida_confirma_email_preenchido() {
                return validaCampo("confirma_email");
            }

            function valida_cep() {
                return validaCampo("cep");
            }

            function valida_rua() {
                return validaCampo("rua");
            }

            function valida_numero() {
                return validaCampo("numero");
            }

            function valida_bairro() {
                return validaCampo("bairro");
            }

            function valida_cidade() {
                return isSelected("cidade");
            }

            function valida_estado() {
                return isSelected("estado");
            }

            function valida_ddd() {
                return validaCampo("ddd");
            }

            function valida_telefone() {
                return validaCampo("telefone");
            }

            function validaCampo(nome_campo) {
                var campo = document.getElementById(nome_campo);
                if (campo != null) {
                    if (!isVazio(campo.value)) {
                        return true;
                    }
                }
                campo.setAttribute("class", "invalido");
                return false;
            }


            function isVazio(campo) {

                if (campo.length == 0 || campo == null) {
                    return true;
                } else {
                    return false;
                }
            }

            function valida_cpf() {
                var cpf = document.getElementById("cpf");
                var ajuda_cpf = document.getElementById("ajuda_cpf");
                if (cpf.value.length == 11) {
                    if (isNaN(cpf.value)) {
                        if (ajuda_cpf != null) {
                            ajuda_cpf.innerHTML = "O cpf deve conter apenas números.";
                            ajuda_cpf.style.color = "#f00";
                        }
                        cpf.value = "";
                        cpf.focus();
                        return false;
                    } else {
                        if (ajuda_cpf != null) {
                            ajuda_cpf.innerHTML = "Obrigado!";
                            ajuda_cpf.style.color = "#0f0";
                        }
                        return true;
                    }

                } else {
                    if (cpf.value.length != 11) {
                        if (ajuda_cpf != null) {
                            ajuda_cpf.innerHTML = "CPF incorreto!";
                            ajuda_cpf.style.color = "#f00";

                        }
                        cpf.value = "";
                        cpf.focus();
                        return false;
                    }
                }
            }

            function isSelected(nome_campo) {
                var campo = $('#' + nome_campo);
                var valor = $('#' + nome_campo + ' option:selected').val();
                if (valor == 0) {
                    $(campo).addClass('invalido');
                    return false;
                } else {
                    return true;
                }
            }

            function popupCalendario() {
                $('#nascimento').val('');
                cal1.popup();
            }
        </script>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>cadastro</title>

    </head>

    <body>
        <%
            Query q = new Query();
            List<Estado> estados = q.getEstados();
            SimpleDateFormat dateFormatter = new SimpleDateFormat("dd-MM-yyyy");
            boolean editar = request.getParameter("editar") != null;
            Usuario usuarioCadastrado = null;
            if (editar) {
                usuarioCadastrado = (Usuario) session.getAttribute("usuario");
            }

        %>
        <script>

            function carregarCidades() {
                $('#estado').removeClass('invalido');
                var idEstado = $('#estado option:selected').val();
                $.ajax({
                    url: 'listacidades',
                    cache: false,
                    data: {estado: idEstado},
                    type: 'GET',
                    error: function(request, status, error) {
                        // TODO: gerar erro
                    },
                    success: function(xml) {
                        var options = $('#cidade');
                        options.children().remove();
                        if ($(xml).find('cidade').length > 0) { // Caso tenha pelo menos 1 casamento
                            $(xml).find('cidade').each(function() {
                                var id = $(this).find('id').text();
                                var nome = $(this).find('nome').text();
                                options.append($("<option />").val(id).text(nome));
                            }); //close each(
                        } else {
                            // Tratar caso não haja cidade
                        }
                    }
                });
            }
        </script>
        <h1><%=(usuarioCadastrado != null) ? "Atualização de cadastro" : "Cadastro"%></h1>
        <span class="dica">* O preenchimento de todos os campos é obrigatório.</span>

        <table id="tab_form" width="760px">
            <form id="formulario" name ="formulario" action="formularioCadastro" method="post" >
                <% if (usuarioCadastrado != null) {%>
                <input type="hidden" name="editar" id="editar" value="<%=editar%>">
                <% }%>
                <tr><td><label>Nome completo<br /><input type="text" name="nome" size="60" id="nome" onclick="this.setAttribute('class', 'none');" value="<%=(usuarioCadastrado != null) ? usuarioCadastrado.getNome() + " " + usuarioCadastrado.getSobrenome() : ""%>" /></label><br />

                <tr><td><label>CPF<input onblur="valida_cpf()" type="text" id="cpf" name="cpf" id="cpf" onclick="this.setAttribute('class', 'none');" value="<%=(usuarioCadastrado != null) ? usuarioCadastrado.getCpf() : ""%>" <%=(usuarioCadastrado != null) ? "disabled" : ""%>/></label><span id="ajuda_cpf"></span><br /><span class="dica">Somente Números</span></td></tr>
                <tr>
                    <td>
                        <label>Sexo
                            <select id="sexo" onchange="mudar_fundo()" name="sexo">
                                <option value="?"></option>
                                <option value="f" <%=usuarioCadastrado != null ? (usuarioCadastrado.getSexo() == 'f' ? "selected" : "") : ""%>>Feminino</option>
                                <option value="m" <%=usuarioCadastrado != null ? (usuarioCadastrado.getSexo() == 'm' ? "selected" : "") : ""%>>Masculino</option>
                            </select>
                        </label>
                    </td>
                </tr>
                <tr><td><label>Escolha uma Senha<br /><input size="8" type="password" id="pass" name="senha" value="<%=(usuarioCadastrado != null) ? usuarioCadastrado.getSenha() : ""%>" /></label><br />
                        <label>Confirmação de Senha<br /><input size="8" type="password" id="password" name="confirma_senha" onchange="confirmar_senha()" value="<%=(usuarioCadastrado != null) ? usuarioCadastrado.getSenha() : ""%>" /></label><span id="ajuda_senha"></span></td></tr>

                <tr><td><strong>Escolaridade</strong><div class="dica">Marque todos as escolaridades que você tiver.</div>

                        <label><input name="escolaridade" value="ensinomedio" type="checkbox" <%=usuarioCadastrado != null ? (usuarioCadastrado.getEnsinoMedio() ? "checked" : "") : ""%>>Ensino Médio</label><br>
                        <label><input name="escolaridade" value="graduacao" type="checkbox" <%=usuarioCadastrado != null ? (usuarioCadastrado.getGraduacao() ? "checked" : "") : ""%>>Graduação</label><br>
                        <label><input name="escolaridade" value="especializacao" type="checkbox" <%=usuarioCadastrado != null ? (usuarioCadastrado.getEspecializacao() ? "checked" : "") : ""%>>Especialização</label><br>
                        <label><input name="escolaridade" value="mestrado" type="checkbox" <%=usuarioCadastrado != null ? (usuarioCadastrado.getMestrado() ? "checked" : "") : ""%>>Mestrado</label><br>
                        <label><input name="escolaridade" value="doutorado" type="checkbox" <%=usuarioCadastrado != null ? (usuarioCadastrado.getDoutorado() ? "checked" : "") : ""%>>Doutorado</label>
                </tr>

                <tr>
                    <td>
                        Data de Nascimento<br>
                        <input type="text" size="9" name="nascimento" value="<%=usuarioCadastrado != null ? dateFormatter.format(usuarioCadastrado.getNascimento()) : ""%>" id="nascimento" onclick="this.setAttribute('class', 'none');" onblur="valida_confirmar_nascimento()" >
                        <a onclick="popupCalendario()" href="#"><img src="img/cal.gif" width="16" height="16" border="0" alt="Click Here to Pick up the date"></a><span id="ajuda_nascimento"></span><br /><span class="dica">dd-mm-aaaa</span>
                    </td>
                </tr>
                <tr><td><label>E-mail<input onchange="valida_email()" onblur="valida_confirma_email()" type="text" id="email" name="email" value="<%=usuarioCadastrado != null ? usuarioCadastrado.getEmail() : ""%>" /></label><span id="ajuda_email"></span></td></tr>
                <tr><td><label>Confirme seu E-mail<input onchange="valida_confirma_email()" type="text" id="confirma_email" name="confirma_email" value="<%=usuarioCadastrado != null ? usuarioCadastrado.getEmail() : ""%>" /></label><span id="ajuda_confirma_email"></span></td></tr>
                <tr><td>

                        <label for="cep">CEP</label>
                        <input name="cep" id="cep" size="9" maxlength="8" onBlur="getEndereco()" id="cep" onclick="this.setAttribute('class', 'none');" value="<%=usuarioCadastrado != null ? usuarioCadastrado.getEndereco().getCep() : ""%>" /><br /><span class="dica">Somente Números</span></td></tr>
                <tr>
                    <td>
                        <label for="logradouro">Logradouro</label>
                        <input name="logradouro" id="rua" size="50" onclick="this.setAttribute('class', 'none');" value="<%=usuarioCadastrado != null ? usuarioCadastrado.getEndereco().getLogradouro() : ""%>"/>
                        <br/>
                        <label>Número<input name="numero" size="4" id="numero" onclick="this.setAttribute('class', 'none');" value="<%=usuarioCadastrado != null ? usuarioCadastrado.getEndereco().getNumero() : ""%>"/></label>
                        <br/>
                        <label for="bairro">Bairro</label>
                        <input name="bairro" id="bairro" size="30" onclick="this.setAttribute('class', 'none');" value="<%=usuarioCadastrado != null ? usuarioCadastrado.getEndereco().getBairro() : ""%>"/>
                        <br/>
                        <label for="estado">Estado</label>
                        <select name="estado" id="estado" onchange="carregarCidades()">
                            <option value="0">Selecione o Estado</option>
                            <%
                                for (Estado estado : estados) {
                            %><option value="<%=estado.getId()%>" <%=usuarioCadastrado != null ? (usuarioCadastrado.getEndereco().getEstadoId() == estado.getId() ? "selected" : "") : ""%> ><%=estado.getUf()%></option><%
                                }
                            %>
                        </select>
                        <br/>
                        <label for="cidade">Cidade</label>
                        <select name="cidade" id="cidade" onchange="$(this).removeClass('invalido');">
                            <option value="0">Selecione a cidade</option>
                            <%
                                if (usuarioCadastrado != null) {
                                    List<Cidade> cidades = q.getCidades(usuarioCadastrado.getEndereco().getEstadoId());
                                    for (Cidade cidade : cidades) {
                            %>
                            <option value="<%=cidade.getId()%>" <%=cidade.getId() == usuarioCadastrado.getEndereco().getCidadeId() ? "selected" : ""%>><%=cidade.getNome()%></option>
                            <%
                                    }
                                }
                            %>
                        </select>
                    </td>
                </tr>
                <tr><td><label>Telefone<input id="ddd" onkeyup="pula_ddd()" size="3" type="text" name="ddd" onclick="this.setAttribute('class', 'none');" value="<%=usuarioCadastrado != null ? usuarioCadastrado.getDdd() : ""%>"/></label><input size="8" type="text" name="telefone" id="telefone" onclick="this.setAttribute('class', 'none');" value="<%=usuarioCadastrado != null ? usuarioCadastrado.getTelefone() : ""%>"/></td></tr><br />
                <tr><td></td></tr>

                <tr><td><input type="button" value="<%=(usuarioCadastrado != null) ? "Atualizar" : "Cadastrar"%>" onmouseup="validar()" /></td></tr>
            </form>
            <script language="JavaScript">
            var cal1 = new calendar1(document.forms['formulario'].elements['nascimento']);
            cal1.year_scroll = true;
            cal1.time_comp = false;
            //-->
            </script>
        </table>
        <!-- LiveZilla Chat Button Link Code (ALWAYS PLACE IN BODY ELEMENT) --><div style="display:none;"><a href="javascript:void(window.open('http://mercurio2.ciar.ufg.br//livezilla/chat.php','','width=590,height=610,left=0,top=0,resizable=yes,menubar=no,location=no,status=yes,scrollbars=yes'))"><img id="chat_button_image" src="http://mercurio2.ciar.ufg.br//livezilla/image.php?id=05&amp;type=overlay" width="32" height="112" border="0" alt="LiveZilla Live Help"></a></div><!-- http://www.LiveZilla.net Chat Button Link Code --><!-- LiveZilla Tracking Code (ALWAYS PLACE IN BODY ELEMENT) --><div id="livezilla_tracking" style="display:none"></div><script type="text/javascript">
            var script = document.createElement("script");
            script.type = "text/javascript";
            var src = "http://mercurio2.ciar.ufg.br//livezilla/server.php?request=track&output=jcrpt&fbpos=10&fbml=0&fbmt=0&fbmr=0&fbmb=0&fbw=32&fbh=112&fbshx=5&fbshy=5&fbshb=5&fbshc=696969&nse=" + Math.random();
            setTimeout("script.src=src;document.getElementById('livezilla_tracking').appendChild(script)", 1);</script><noscript><img src="http://mercurio2.ciar.ufg.br//livezilla/server.php?request=track&amp;output=nojcrpt&amp;fbpos=10&amp;fbml=0&amp;fbmt=0&amp;fbmr=0&amp;fbmb=0&amp;fbw=32&amp;fbh=112&amp;fbshx=5&amp;fbshy=5&amp;fbshb=5&amp;fbshc=696969" width="0" height="0" style="visibility:hidden;" alt=""></noscript><!-- http://www.LiveZilla.net Tracking Code -->
    </body>
</html>